console.log('begin');
for(var i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(i);
    }, 1000);
}
console.log('end');
// 输出结果: begin end 5 5 5 5 5  // 并且5个5是一起输出的

// 怎么修改让让数字输出为0 1 2 3 4
// 方法1, 将var改为let
for(let i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(i);
    }, 1000);
}

// 方法2, 将setTimeout改为立即执行函数
for(var i = 0; i < 5; i++) {
    (function(params){
        setTimeout(function() {
        console.log(params);
    }, 1000)})(i)
}
// 但是,还是没有隔1s输出一个
